#pragma once

#include "sys/IInterface.h"
#include "InteractionID.h"

interface ISelection : public IInterface
{
	DEFINE_IID(IID_Selection)

	virtual void SelectOne(IObject* object) = 0;
	virtual void SelectMore(const objectarray& objects) = 0;
	virtual void DeselectOne(IObject* object) = 0;
	virtual void DeSelectAll() = 0;

	virtual uint32 GetSelected(objectarray& objects) const = 0;
	virtual uint32 CountSelected() const = 0;
	virtual IObject* GetSelected(uint32 index) = 0;
};